Trying out different software that loads different software
Home About Projects Blog Games Contact SupportDisclaimer: These are only OSes I've personally tried, and kind of remember using. I also don't really care for or distinguish between stable or rolling-release, so those aren't mentioned on this page. If you want up to date things, then find and install them on your own if they aren't in the distro's packages or ports.
tl;dr - My recommended OSes, in order: 1. Make your own, it's fun and the best, nothing will ever compare. 2. OpenBSD 3. Alpine Linux 4. Void/artix/arch if you need rolling-release. 5. Pop!_OS if you want Ubuntu 6. Debian stable or similar, maybe Fedora 7. Linux Mint if you still want Ubuntu 8. I guess Ubuntu, but after moving past beginner linux use, it's nice to leave it behind. Unless you want a lot of online resources, always there availability and popularity, then do use Ubuntu, or arch.
"The default" linux distro, it usually comes to mind for most people when they think "linux" as an OS. I prefer Pop!_OS more as an Ubuntu-based distro but for regular Ubuntu, it's alright. Cinnamon DE for ex-windows users works rather well actually, but gnome is... eh. Not great. Maybe it's better these days, not sure.
I more prefer pacman or xbps or apk as a package manager, rather than apt, and I'd rather have less things by default on my system than Ubuntu gives on an install. There are minimal installations available though.
I don't have much to say overall, try it with cinnamon DE, or try kubuntu or xubuntu, et al. for different default visuals and workflows. Later you can try a WM by itself.
For a "just works" experience, and the availability of most everything, Ubuntu isn't bad. It will probably work without issue on any standard recent laptop or desktop, which is a good thing! But I'm still a tinkerer at heart and like seeing what I can get away with removing, while still having full functionality for my wants and needs.
Ubuntu-based distro with nvidia drivers in the install, as well as a tiling WM set up and (imo) better DE/visuals than stock Ubuntu or cinnamon/kubuntu/xubuntu/etc.
Has a tendency to fail initial install on my laptops for whatever reason, always had to re-try installing from the live iso 3-5 times, but when it does actually install it's a nice experience. Recommended for Ubuntu/debian users that want nvidia support, a tiling WM option, nice visuals, and easier setup for steam out of the box. Have only used on a laptop, a dell xps 13 7390, and it's a nice experience, wholly recommend for ease of use.
May try it out again in the future when their Cosmic DE is ready for production use.
Small in size and default features, more for the minimalist crowd. Uses musl libc and apk package manager (apk is good and fast!), and some hardening for the kernel so can be nice from a security standpoint also.
It can be used for a distraction-free cli development environment, using lynx or w3m or similar to browse the web. Very viable as a TTY only machine, and I mean that as a good thing and a good use-case, completely serious. I've done that before to help with getting "in the zone", at least for non graphical dev work, in C or other languages.
Apparently it's used for docker due to the small size and lack of bloat on a default installation.
I'd recommend Alpine for those wanting a small, minimal, fast, binary based distro with a good package manager and musl libc. Do not use this if you need gnu libc! Unless you know how to make that work with chroot or what-have-you. But it's a good distro, and started me off on my own minimalist journey.
Update ca. 2023: I currently use Alpine in a virtual machine on my windows host. Alpine std install, not virt, as I wanted sound support and it worked better on my machines.
I have a small setup script and use xorg with i3wm. Alpine allows me to have a better development environment than windows, while still supporting both linux and windows for cross platform development (using mingw for C, and SDL or other crossplatform libraries).
I also run Alpine on my laptop, which originally had Ubuntu for work. Now I can get away with all website & webapp usage for microsoft teams and 5250 emulation to connect to my work's IBM i, so anything that can use firefox is fair game.
I enjoy Alpine's small size and ease of administration, similar to OpenBSD and netBSD in that regard.
If I can get OBS, audio VSTs, and an AMD GPU to work with hardware acceleration for video editing/recording/streaming, and gaming, then I could run Alpine as my daily driver for everything. Absent those, I'd stick with Fedora or Pop!_OS for the time being, for a full linux replacement setup.
Update ca. 2024: I'm running Alpine Linux full time on both my laptop and desktop workstation machine, as I'm using a work laptop for my employer. My needs are not much, compilers/browsers/editors are the main things, and I have sound working fine on my desktop with pipewire. OBS works fine, droidcamX works for android capture as well, so I'm happy.
Using an AMD 7700XT gpu and everything other than bluetooth has worked fine since around kernel ~6.4 or 6.5. It keeps improving in fact, bugs I thought were inherent to linux aren't and have been fixed in the past several months, so my experience keeps getting better over time, not like how linux used to be 10 years ago.
My only issues were some sound issues with a focusrite scarlett solo, and one update I needed to reinstall grub through a live install USB and chroot, though I could've re-installed fresh just fine. Sound has also been fine after setting the default sample rate for pipewire to 44100hz in its config file.
Bluetooth mainly breaks after windows use, as I dual boot for gaming and video editing. Hoping gpu passthrough continues to improve and I won't need windows at all in the future. Might look into looking glass, other solutions, and using the flatpak version of steam to try that out.
For video editing, Davinci resolve isn't on Alpine, and Kdenlive wasn't great. Will look into other editors, if not-raw dogging ffmpeg scripts and making some janky homemade editor tools.
Build all the things from source, and like it!
CRUX has a minimal package management system using tar.gz and a ports system for getting other packages. It has a focus on modern hardware and features, 64bit only and using new Linux developments as they appear.
I used this primarily in a VM after trying out Alpine linux to see what "more minimal" means. It is a simple distro, simple meaning less parts, not easy. Meant for more advanced linux users or system admin types.
Seems to be suited more for source based packages, not binary. But it's small and simple, which is nice. Gets you knowing how the system is put together and how it all works.
Try it out and see if you like a more "build as you go" approach to an OS, but not as far as Linux From Scratch. The community is small and seems nice, though I'd recommend being a more "advanced" user and knowing how everything is laid out and works before asking questions. That goes for any OS community really, but more so for the smaller, tight-knit, and experienced ones.
If you wanted CRUX but thought it wasn't minimal or modular enough, you might like KISS.
This is about the smallest usable distro with the least lines of code, and most modularity, that I've found without going the full LFS route or writing your own distro. The community is very small but active and welcoming to newcomers or advanced users. It taught me more about how small parts can fit together be interchanged, and how to reinstall the kernel a few times or 5 to get wifi working on a newer laptop.
It is musl libc based, so keep that in mind, and things can tend to break somewhat often from changes (usually resulting in similar results when fixed, with less dependencies!).
Recommend for what seems to be the "fullest" knowledge and control of your own linux-kernel based system. The one-man main developer has a focus on less dependencies and less lines of code as a goal, within reason. If a system can function identically but with a smaller package, or less packages, then why not use those.
I love this approach, as well as the focus on simplicity and options for the user. If wanted, you can change to a different init system, package manager, repos, or most other components.
A lot of things are written in plain POSIX shell, although the package manager is being re-written in C over time. Kiss the package manager works well also!
Other than OpenBSD and Pop!_OS, this is one of my favorite distros for laptop use, if not a VM or the full desktop experience. For a linux kernel distro, I love the ideas behind this project and look forward to it's future developments, and will continue to use it as a daily driver where possible.
Update ca. 2023+: While the community is still active around KISS Linux, and the commnity repos continue to be updated (I think), the main project maintainer has seemingly left, as is often the case with smaller one-man band projects.
I wish him well, but want a more stable and maintained distro with more backing. Not that it doesn't or won't work now, it's still fine, but at this point I'd rather use Void or Alpine, or go full LFS.
Still highly recommend looking into this, especially if you like minimalist philosphy and doing more with less.
Have not messed with this much, planning on a VM install to learn lisp (scheme dialect primarily) and how declarative OS configuration and reproducible builds and environments are in practice. Also will use as my first fully libre OS (only issue would be wifi on my laptops).
If successful, this would provide an easy way to duplicate a VM setup to bare-metal PC/laptop/whatever else. The focus on reproducibility and lisp is interesting, and I'm excited to see where the project goes, hopefully on gnu hurd if possible, microkernels and different init systems are interesting developments.
Managing and developing a full lisp system is very intriguing, so as a research/study/thought experiment on lisp-ing all the things, I'm tentatively excited about this. Won't be doing emacs though :p (unless it's with evil mode).
As an alternative, I've looked into NixOS, and others like Fedora Silverblue. But I'd probably try GUIX first, if only due to the homogeneity of it's system and language with Guile.
As a stable, secure, open and readable, well put together system, if somewhat slower by default, you could do much worse than OpenBSD.
Combining the user land and kernel in one project shows how well made unix can be, and I have not found a better environment for C programming yet. The man pages are also wonderful, how can you use linux man pages after living in OpenBSD?
This was one of the only distros with a nice and easy install process, complete with a full graphical environment and login manager, that actually worked first try in a virtual machine AND on multiple laptops, old and new. That won me over FAST.
CWM is a nice, simple, comfortable window manager and the only thing I'd change about it is adding a keybind to center the focused window, and maybe a way to turn off focus on mouse. FVWM is okay too, but CWM is great.
This was my daily-driver OS for programming, I used to program my personal things in OpenBSD, for Youtube or wherever, as I like C and it has great C support out of the box, and the source is good for studying C code. But other languages work just as well too.
The ports system works for most things not included in the main repos, and -Current works for up to date packages.
Hard-ass (in a good way) maintainers who focus on security and code audits bring an air of stability and elegance to the system, albeit at the cost of performance. There are multiple guides and articles on mitigating any performance impacts after install, mostly by increasing default resource limits or turning multithreading back on. However it is quite usable by default without any of these changes.
I can't think of a better OS for old thinkpads either, it's dogfooded by the devs and has excellent, maybe the best support for any OS for older thinkpads (an x60, in my case).
Wholly recommended for a BSD, Unix, or otherwise fine OS for programming and development, and to see how nice a true Unix can be.
If you like a stable, well put together system, both userland and kernel, but need better performance and/or linux compatability, FreeBSD is your man.
As of ~2022, I was running FreeBSD as my main desktop development environment, for all programming and languages. I haven't found much lacking in the main repos or ports, but I don't game in my dev environs, so look elsewhere if that is a top priority.
Almost as good man pages as OpenBSD, source code not as readable, but the experience was much speedier. With a Linux binary layer, it opened a lot of cross-platform work and testing for free. The jails feature looks pretty useful as well.
Basically, everything I like about Linux, but more Unix-y, and seemingly more stable. A lot to like. Definitely try it out.
I have yet to fully try this out other than in a VM for some online courses, but I did enjoy the small default install and set up, and it looks to have easy administration.
Apparently it runs on most any device as well, which is nice. So having a similar set up on VMs, laptops, desktops, etc. seems pretty doable.
Also seems to appeal to the minimalist ethos, in Unix garb, so if that sounds interesting I'd recommend getting a NetBSD install and have at it, to learn Unix administration and how to work with a coherent and small system.
What better way to learn and appreciate all that goes into something, than to make it yourself?
Not for the faint of heart, or those who lack a lot of time. It may be easier to start off by writing & replacing your current programs and tools or system components in your current OS, or porting your own software to other OSes.
It might also be wise to choose an older or smaller platform than modern x86_64. It's a hacked together mess complicated over the last 40+ years. But that's OK, use the os dev wiki (for mostly 32 bit examples) and experiment to your heart's content!
The best solution, be it broken or barely usable, is the one you make on your own. There's no better feeling than your own work booting up and presenting a prompt, waiting to run your own programs in your own shell, in your own kernel, showing on your own framebuffer.
The final frontier is self-imposed, and ever expanding. Enjoy the journey.
Look at the FAQ on the about page